package STUDENT.TRANNGUYENQUAN.OOPs.OBJECT_AND_CLASSES;

public class GiangVien {
	//1. Biến đối tượng
	private int maGV;
	private String HoTen;
	private String DienThoai;
	//2. Hàm khởi dựng cho đối tượng<Constructor>
	/* + Trùng tên với tên lớp đối tượng
	 * + Không có kiểu trả về mà mặc định là public
	 * + Nếu lớp có đối tượng mà không khai báo hàm khởi dựng không tham số
	 * --> 1 hàm khởi dựng không tham só mặc định sẽ được tạo ra <ngầm định>
	 * + Có 2 hàm khởi dựng
	 * --> Không tham số< khởi tạo giá trị mặc định cho đối tượng khi sinh ra>
	 * --> có tham số< khởi tạo giá trị theo tham số cho đối tượng khi sinh ra>
	 */

	 //--> Không tham số<khởi tạo giá trị mặc định cho đối tượng khi sinh ra>
	public GiangVien(){
		int maGV = -1;
		String HoTen = "Chưa xác định";
		String DienThoai = "Chưa xác định";
	}
	
	//--> Có tham số<khởi tạo giá trị theo tham số cho đối tượng khi sinh ra>
	public GiangVien(int maGV, String HoTen, String DienThoai){
		this.maGV = maGV;
		this.HoTen = HoTen;
		this.DienThoai = DienThoai;
	}

	public int getMaGV() {
		return maGV;
	}

	public void setMaGV(int maGV) {
		this.maGV = maGV;
	}

	public String getHoTen() {
		return HoTen;
	}

	public void setHoTen(String hoTen) {
		HoTen = hoTen;
	}

	public String getDienThoai() {
		return DienThoai;
	}

	public void setDienThoai(String dienThoai) {
		DienThoai = dienThoai;
	}
	
	/*public static void main(String[] args){
		//1. Khai báo
		GiangVien objGV01;
		GiangVien objGV02;
		GiangVien objGV03;
		GiangVien objGV04;
		//2. khởi tạo
		objGV01 = new GiangVien();
		objGV02 = new GiangVien(12, "Nguyễn Xuân Anh", "012345678");
		objGV03 = new GiangVien();
		objGV04 = new GiangVien();
		
		
		
	}*/
	
	
	//3. Thuộc tính các đối tượng
	/* - Là thành phần cho phép chúng ta có thể lấy đc thông tin biến đối tượng
	 * hoặc thiết lập thông tin cho biến đối tượng
	 * - Thể hiện qua Get hoặc Set
	 * 	+ Get: Lấy thông tin về
	 * 	+ Set: thiết lập thông tin cho đối tư
	 * 
	 */
	
	// Phương thức thể hiện hành vi của đối tượng
	public String TaiNang(){
		return "Cái gì đó";
	}
	
	public void ABC(){
		// không có nghĩa vụ trả về tức return
		
	}
}